Mestrado Profissional em Administração
IFMG - Campus Formiga
22 de março de 2023
Introdução à Linguagem R
Agora você tem alguma experiência executando código R.
Você não teve muitos detalhes, mas você certamente descobriu o básico.
A frustração é natural quando você começa a programar em R, a linguagem é muito exigente com a sintáxe, e até mesmo um caractere fora do lugar gera erros.
Embora você deva estar um pouco frustrado, não desanime, é típico e temporário: acontece com todos, e a única maneira de superar é continuar explorando, praticando e estudando.
Antes de ir mais longe, vamos ter certeza de que você tem uma base sólida em executar código R, e que você sabe alguns dos recursos úteis do RStudio para programar em R.
Referência: Wickham & Grolemund (2017)
Atencao à estrutura de pastas para os projetos de análise de dados:
Estrutura de Pastas inicial recomendada para a disciplina:
C:/icd2023:
/dados_analise/dados_brutos/scripts/notebooksVamos voltar ao script aula01.R
Saiba mais em RStudio Support
Edit -> Folding:
Collapse — Alt+L
Expand — Shift+Alt+L
Collapse All — Alt+O
Expand All — Shift+Alt+O
Code:
Insert Section — Ctrl+Shift+R
Jump To — Shift+Alt+J
<-como ler esse código?
valor é atribuído a nome_objeto
Obs: nome_objeto = valor funciona mas não é uma boa prática!
seq()TABpara que o resultado seja exibido diretamente envolva toda a expressão entre parênteses:
Faremos muitas atribuições com <-, e não é agradável digitar!
Solução?
shortcut: Alt + -
Observe que o RStudio magicamente envolve <- com espaços, que é uma boa prática de formatação de código.
É terrível ler código, então dêaosseusolhosumapausa e use espaços.
nomes de objetos devem começar com uma letra e podem conter letras, números, _ e .
Queremos nomes de objetos descritivos, então precisamos de uma convenção (code style).
Wickham & Grolemund (2017) recomendam o estilo snake_case.
Há um contrato implícito entre nós e a linguagem R.
R fará o cálculo tedioso para nós, mas em troca, devemos ser completamente preciso nas instruções.
Erros de digitação (typos) importam.
Case (Maiúscula/Minúscula) importa.
Considere os seguintes vetores:
O vector linkedin representa as visualizações do seu perfil no Linkedin dos últimos 7 dias, e o vetor facebook representa as visualizações do seu perfil no Facebook dos últimos 7 dias.
Determine quando as visualizações do linkedin excederam 10 e as visualizações do facebook não conseguiram chegar a 10 para um determinado dia. Use os vetores do linkedin e do facebook.
Considerando o mesmo vetor Linkedin do exercício anterior, determine se last é menor que 5 ou maior que 10.
| Descrição | |
|---|---|
double |
a vector containing real values |
integer |
a vector containing integer values |
character |
a vector containing character values |
logical |
a vector containing logical values |
complex |
a vector containing complex values |
| Descrição | |
|---|---|
NA |
Not Available: dados faltantes |
NaN |
Not a Number: 0/0 |
Inf |
\(+ \infty\) ou \(- \infty\) |
forcats packageEncorajo vocês a explorararem o pacotte forcats:
dplyrO pacote dplyr pertence a um metapacote (família de pacotes) projetado especificamente para Ciência dos Dados chamado Tidyverse.
Alguns desses pacotes serão abordados ao longo deste curso, mas você pode encontrar informações mais completas em: https://www.tidyverse.org/.
o pacote dplyr é uma gramática de manipulação de dados.
O pacote fornece um conjunto consistente de verbos que ajudam a resolver os desafios mais comuns de manipulação de dados.
dplyr: Principais Verbos| Verbos | Descrição |
|---|---|
select() |
picks variables based on their names. |
filter() |
picks cases based on their values. |
mutate() |
adds new variables that are functions of existing variables |
arrange() |
changes the ordering of the rows |
summarise() |
reduces multiple values down to a single summary. |
group_by() |
allows you to perform any operation “by group” |
dplyrgapminder que estão disponíveis no próprio pacote gapminder.dplyr: VerbosFigura 1: ?(caption)
Escreva um único comando (que pode abranger várias linhas e inclui pipes) que produzirá uma data.frame que tenha os valores dos países africanos para lifeExp, country e year, mas não para outros países e continentes.
dplyr: group_by() e summarise()Figura 2: ?(caption)
Calcule a esperança média de vida por país.
Qual tem a esperança média de vida mais longa e qual tem a esperança média de vida mais curta?
Calcule a Expectativa de vida média para cada continente no ano 2002 e ordene a expectativa média em ordem decrescente.
Calcule a Expectativa de vida média para cada país no ano 2002 e ordene a expecativa média em ordem crescente.